gusucode.com > 支持向量机工具箱 - LIBSVM OSU_SVM LS_SVM源码程序 > 支持向量机工具箱 - LIBSVM OSU_SVM LS_SVM\stprtool\svm\minball.m
function [Alpha, R, mi2] = minball(data,ker, arg) % MINBALL computes minimal ball around data. % [Alpha, R, mi2 ] = minball(data,ker, arg) % % It computes a center and a radius of minimal ball % around data in a feature space induced by a given kernel. % The problem leads to a QP problem which is solve by % MATLAB Optimization toolbox. % % Inputs: % data [dim x num_data] input data. % ker [string] kernel identifier; see help 'kernel' % arg [...] rernel argument. % % Outputs: % Alpha [num_data x 1] center of ball mi = data*Alpha' in % non-linear space; % R [real] radius of the ball in non-linear space. % mi2 [real] mi2=mi'*mi in non-linear space. % % See also: % KDIST. % % Modified: % 15-jun-20002, VF [dim,num_data] = size(data); K = kmatrix( data, ker, arg ); f = -diag(K); H=2*K; Aeq = ones(1,num_data); beq = 1; LB = zeros(num_data,1); UB = inf*ones(num_data,1); options=optimset('Display','off'); Alpha=quadprog(H,f,[],[],Aeq,beq,LB,UB,zeros(num_data,1),options); mi2=Alpha'*K*Alpha; inx= find(Alpha > 1e-12); R=0; for i=inx(:)', R=R+ sqrt(K(i,i) -2*K(i,:)*Alpha + mi2 ); end R=R/length(inx); return;